วิธีการเปิดใช้งาน EC2 บน AWS Thailand Region (Amazon Linux 2023, PuTTY)
สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ
ครั้งนี้จะมาอธิบายเกี่ยวกับการเปิดใช้งาน EC2 (Amazon Linux 2023) บน EC2 ใน AWS Thailand Region (AWS Region เอเชียแปซิฟิก (Thailand)) และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY ด้วยขั้นตอนที่ละเอียดและเข้าใจง่าย
AWS Thailand Region
AWS Region เอเชียแปซิฟิก (Thailand) เป็นภูมิภาคโครงสร้างพื้นฐานแห่งแรกในประเทศไทย และเป็นภูมิภาคที่ 14 ในเอเชียแปซิฟิก ร่วมกับภูมิภาคที่มีอยู่แล้วใน ฮ่องกง ไฮเดอราบัด จาการ์ตา มาเลเซีย เมลเบิร์น มุมไบ โอซาก้า โซล สิงคโปร์ ซิดนีย์ และโตเกียว รวมถึงภูมิภาคปักกิ่งและหนิงเซี่ย จีน
ในสถานะค่าเริ่มต้นของ AWS Account จะไม่สามารถใช้งาน Thailand Region ได้ แต่คุณสามารถเปิดใช้งานได้ง่ายๆ โดยไม่เสียค่าใช้จ่าย
ดูวิธีการเปิดใช้งาน Thailand Region ได้ที่ลิงก์ด้านล่างนี้
เมื่อสร้าง EC2 ใน Thailand Region จะมีข้อดีดังนี้
・ราคาถูกกว่า Singapore Region
・ใช้งานได้รวดเร็ว (Low Latency) จากภายในประเทศไทย
ดูตัวอย่างการทดสอบ Latency ได้ที่ลิงก์ด้านล่างนี้
Amazon EC2 คืออะไร?
Amazon EC2 (Elastic Compute Cloud) คือบริการคลาวด์จาก AWS (Amazon Web Services) ที่ให้คุณสามารถสร้างและจัดการเซิร์ฟเวอร์เสมือน (Virtual Servers) หรือที่เรียกว่า Instances ได้อย่างยืดหยุ่น โดยคุณสามารถเลือกขนาด ประสิทธิภาพ ระบบปฏิบัติการ และการตั้งค่าต่าง ๆ ของเซิร์ฟเวอร์ได้ตามความต้องการ
การสร้าง Key Pair
หากเข้าใจเกี่ยวกับ Key pair แล้ว มาเริ่มสร้าง Key pair กันเลยครับ
ค้นหาและเลือก EC2
เลือก Key Pairs
จากเมนูด้านซ้าย
คลิก Create key pair
แล้วจะสร้าง Key pair ดังนี้
・Name: tinnakorn-al2023-th-region
(ป้อนตามต้องการ)
・Key pair type: RSA
(ค่าเริ่มต้น)
・Private key file format: .ppk
・คลิก Create key pair
หลังจากสร้าง Key Pair เสร็จแล้ว จะมีลักษณะดังนี้
・มีข้อความแจ้งเตือนขึ้นมาว่า "Successfully created key pair"
・ไฟล์ .ppk
จะถูกดาวน์โหลดมาที่คอมพิวเตอร์และชื่อไฟล์จะถูกกำหนดตามที่เราได้ตั้งชื่อไว้โดยอัตโนมัติ
การเปิดใช้งาน EC2 Instance
การเปิดใช้งาน Instance จะดำเนินการใน Service EC2 เช่นเดียวกับการสร้าง Key Pair ครับ
เลือก Instances
จากเมนูด้านซ้าย
คลิก Launch instances
มาที่หัวข้อ Name and tags
・ป้อนชื่อที่ต้องการในช่อง Name เช่น tinnakorn-al2023-th-region
ต่อไปหัวข้อ Application and OS Images (Amazon Machine Image) นี้คือ Instance จะมีเซิร์ฟเวอร์ให้เลือกใช้มากมาย เช่น macOS, Red Hat, SUSE Linux, Ubuntu, Microsoft Windows, Debian เป็นต้น ซึ่งในบทความนี้จะใช้ Amazon Linux 2023 AMI
ในการติดตั้ง
・คลิก Amazon Linux
แล้วเลือก Amazon Machine Image (AMI) ที่ต้องการ โดยตัวอย่างนี้จะใช้เป็นค่าเริ่มต้นคือ Amazon Linux 2023 AMI
ต่อไปหัวข้อ Instance type นี้คือ เราสามารถเลือก Type CPU Memory ที่จะนำไปใช้งานได้ตามความต้องการ ไม่ว่าเว็บไซต์จะมีขนาดเล็กหรือขนาดใหญ่ ก็สามารถเลือกขนาดความจุของ CPU Memory ได้ตามความเหมาะสม
・ค้นหาและเลือก t3.micro
・แล้วจะได้สเปค Family: t3 | 2 vCPU | 1 GiB Memory
ตามที่เราเลือก
ต่อไปหัวข้อ Key pair (login)
・เลือก Key pair name - required ที่สร้างไว้เมื่อสักครู่นี้
ต่อไปหัวข้อ Network settings
・คลิก Edit
แล้วมาที่หัวข้อ Firewall (security groups)
จากนั้นเปลี่ยนชื่อ "Security group name" และ "Description" ตามต้องการ เช่น tinnakorn-al2023-th-region
และหัวข้อ Inbound security groups rules นี้คือ การตั้งค่า My IP เพื่อจำกัดการเชื่อมต่อ rdp จากทุกตำแหน่ง ซึ่งในส่วนนี้จะทำให้สามารถเชื่อมต่อ SSH จาก My IP (ที่อยู่ IP ปัจจุบันของคุณ) ได้เท่านั้น และในกรณีที่ใช้ HTTP จะเป็นการแสดงผลหน้าจอเว็บไซต์
・เปลี่ยน Source type ของ ssh ให้เป็น Source type: My IP
ต่อไปหัวข้อ Configure storage นี้คือ เราสามารถเพิ่ม Storage ในส่วนของ Size (GiB) ได้ โดยค่าเริ่มต้นจะเป็น 8 GB
ในตัวอย่างนี้จะใช้เป็นค่าเริ่มต้น ก็จะไม่ทำการตั้งค่าใดๆ
เมื่อตั้งค่าทุกอย่างเสร็จแล้ว มาที่หัวข้อ Summary ด้านขวา
แล้วตรวจสอบรายละเอียดการตั้งค่า และคลิก Launch instance
แล้วจะแสดงหน้าจอแบบนี้ โดยระบบจะเริ่มต้นเปิดใช้งาน Instance ตามที่เราตั้งค่าไว้
ทีนี้ให้คลิก (i-xxxxxxxxxx
) หรือเลื่อนลงมาด้านล่างสุด แล้วคลิก View all instances
ก็ได้
ค้นหา Instance ของเรา แล้วสังเกตที่ Status Checks จะเห็นว่ามีสถานะเป็น Initializing
คือ Instance กำลังเริ่มต้นครับ
เมื่อ Instance เริ่มต้นเสร็จเรียบร้อยแล้ว จะมีสถานะเป็น ✅ 3/3 checks passed
การเชื่อมต่อกับ EC2 Instance ด้วย PuTTY
ขั้นตอนนี้จะทดสอบ Login เข้าใช้งาน Server ของ Amazon Linux 2023
สำหรับผู้ใช้งานที่ยังไม่เคยใช้โปรแกรม PuTTY สามารถคลิกลิงก์ Download PuTTY ได้เลย
หากผู้ใช้งานที่มีโปรแกรม PuTTY อยู่แล้ว ให้ข้ามขั้นตอนการดาวน์โหลดโปรแกรมไปได้เลยครับ
การดาวน์โหลดและติดตั้งโปรแกรมควรเลือกให้ตรงกับระบบ Windows ของเรา เช่น ถ้าระบบ Windows ของเราเป็น 64-bit ก็ให้เลือกดาวน์โหลดเป็น 64-bit x86
เป็นต้น ซึ่งในปัจจุบันนี้ 32-bit ก็ไม่ค่อยมีแล้ว หรือ อาจจะพบได้ในคอมพิวเตอร์รุ่นเก่าที่มีขนาด RAM ต่ำกว่า 4 GB นั่นเอง ทั้งนี้ทั้งนั้นเพื่อความชัวร์ !แนะนำให้ตรวจสอบระบบ Windows ของเราก่อนดาวน์โหลดและติดตั้งโปรแกรมจะดีที่สุดครับ
เมื่อเรามีโปรแกรม PuTTY แล้ว ให้เปิดโปรแกรม PuTTY
เตรียมไว้
แล้วไปที่หน้าจอ Instance ของเรา และคัดลอก ❐
Public IPv4 address เพื่อมาใส่ที่ช่อง Host Name ใน PuTTY
PuTTY Configuretion
กลับมาที่หน้า PuTTY แล้วตั้งค่าเพื่อทดสอบ Login ไปยัง Instance ตามขั้นตอนด้านล่างนี้
การตั้งค่า Basic options for your PuTTY session นี้คือ
・เลือก Session
・นำ Public IPv4 address ที่คัดลอกมาสักครู่นี้มาวางที่ "Host Name (or IP address)"
・ป้อนชื่อที่ Saved Sessions เช่น tinnakorn-al2023-th-region
การตั้งค่า Options controlling the connection นี้คือ
・เลือก Connection
・ป้อนค่าการเชื่อมต่อที่ช่อง Seconds between keepalives (0 to turn off): 60
การตั้งค่า Data to send to the server นี้คือ
・เลือก Data
・ป้อน Auto-login username: ec2-user
(*โปรดระวังในส่วนนี้ด้วย เนื่องจากไม่ใช่ "ubuntu", "bitnami", "vyos")
・คลิก +
SSH › +
Auth › Credentials
・คลิก Browse...
ที่ Private key file for authentication แล้วเลือกไฟล์ Key pair ของเรา เช่น tinnakorn-al2023-th-region.ppk
แล้วจะแสดง Path ตามที่เราเลือก จากนั้นคลิก Session
จากเมนูด้านซ้ายอันแรก
เมื่อกลับมาที่หน้าจอ Session แล้ว ให้บันทึกการตั้งค่าดังนี้
・คลิก Save
・ชื่อที่เราป้อนไว้จะไปอยู่ในช่องตามลูกศร ทีนี้ให้คลิกชื่อที่บันทึกนี้ (สามารถดับเบิ้ลคลิกเพื่อ Login ได้เลย)
・คลิก Open
หรือดับเบิ้ลคลิกที่ชื่อ Session ของเราก็ได้
คลิก Accept
เมื่อเข้ามาแล้วจะแสดงหน้าจอแบบนี้
・Using username "ec2-user".
・Authenticating with public key "key pair name"
ก็คือเราสามารถ Login เข้ามายัง EC2 Instance (Amazon Linux 2023) ได้แล้ว
Using username "ec2-user".
Authenticating with public key "tinnakorn-al2023-th-region"
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
[ec2-user@ip-xx-xx-xx-xx ~]$
ทอสอบรันคำสั่งพื้นฐานของ Linux
ทีนี้มาลองรันคำสั่งพื้นฐานของ Linux กัน
รันคำสั่งนี้เพื่อเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ root
sudo su -
Output (example)
[ec2-user@ip-xx-xx-xx-xx ~]$ sudo su -
[root@ip-xx-xx-xx-xx ~]#
รันคำสั่งนี้เพื่อ Update server ให้เป็นปัจจุบันเสมอ
yum update -y
Output (example)
[root@ip-xx-xx-xx-xx ~]# yum update -y
Amazon Linux 2023 Kernel Livepatch repository 95 kB/s | 11 kB 00:00
Last metadata expiration check: 0:00:01 ago on Fri Jan 10 04:22:49 2025.
Dependencies resolved.
Nothing to do.
Complete!
[root@ip-xx-xx-xx-xx ~]#
สรุป
การสร้าง EC2 Instance เราจะสร้างโดยใช้ Key Pair หรือไม่ใช้ Key Pair ก็ได้ หรือหากสร้างโดยไม่ใช้ Key Pair ไปแล้ว ต้องการเพิ่ม Key Pair ในภายหลัง ก็สามารถทำได้เช่นกัน
- กรณีที่ใช้ Key Pair: สามารถเชื่อมต่อกับ Instance จากภายใน AWS Management Console และเชื่อมต่อกับ Instance จากภายนอกโดยใช้โปรแกรมต่างๆ ได้
- กรณีที่ไม่ใช้ Key Pair: สามารถเชื่อมต่อกับ Instance จากภายใน AWS Management Console แต่ไม่สามารถเชื่อมต่อกับ Instance จากภายนอกโดยใช้โปรแกรมต่างๆ ได้
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
POP (Tinnakorn Maneewong) จากบริษัท Classmethod (Thailand) ครับ !
บทความที่เกี่ยวข้อง
- Amazon EC2
- Amazon Linux 2023
- 【Update】วิธีติดตั้ง Amazon Linux 2 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY
- วิธีติดตั้ง Amazon Linux 2023 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY
- การติดตั้ง Ubuntu 20.04 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วย PuTTy
- วิธีการใช้งาน Bitvise (การเชื่อมต่อ ssh terminal และการ upload ไฟล์)
- วิธีอัปโหลดไฟล์ด้วย WinSCP ไปยัง Server Website ที่ตั้งค่าใน EC2
- วิธีการเชื่อมต่อเซิร์ฟเวอร์ Amazon Linux 2 ของ EC2 Instance ด้วย Tera Term
- ทำการติดตั้ง Extention Remote – SSH ใน VSCode และทดลองใช้งาน EC2 โดยตรงใน VSCode
- วิธีเชื่อมโยง Elastic IP (EIP) ไปยัง EC2 Instance
- วิธีแก้ปัญหาการเชื่อมต่อ Security Group
- ควรทำอย่างไร? เมื่อทำ Key Pair หายไปจาก EC2 – บทความนี้มีคำตอบ
- Amazon EC2 คืออะไร การแนะนำฟังก์ชันล่าสุดของ AWS
- EC2 Instance ประเภท T คืออะไร? จะใช้งานได้ดีและถูกจริงๆเหรอ?